<?php
//抽象类
abstract class Person {
	public abstract function setInfo();	//抽象方法
	public function getInfo() {
		echo '获取信息<br>';
	}
}
//继承
class Student extends Person {
    //重写实现父类的抽象方法
	public function setInfo() {
		echo '重新实现父类的抽象方法<br>';
	}
}
//测试
$stu=new Student;
$stu->setInfo();		//重新实现父类的抽象方法
$stu->getInfo();		//获取信息


// 1. abstract修饰的方法是抽象方法，修饰的类是抽象类
// 2. 只有方法的声明没有方法的实现称为抽象方法
// 3. 一个类中只要有一个方法是抽象方法，这个类必须是抽象类。
// 4. 抽象类的特点是不能被实例化
// 5. 子类继承了抽象类，就必须重新实现父类的所有的抽象方法，否则不允许实例化
// 6. 类中没有抽象方法也可以声明成抽象类，用来阻止类的实例化
?>